home *** CD-ROM | disk | FTP | other *** search
/ Netware Super Library / Netware Super Library.iso / pgm_tool / lu62 / proc / fconf.c < prev    next >
C/C++ Source or Header  |  1995-07-03  |  1KB  |  71 lines

  1. /*
  2.  * CopyRight 1995. Nicholas Poljakov all rights reserved.
  3.  */
  4. #include <malloc.h>
  5. #include <stdio.h>
  6. #include <dos.h>
  7. #include <conf.h>
  8. #include <state1.h>
  9.  
  10.  confirm (tp_id,conv_id,
  11.          p_rc,p_rts)
  12. unsigned char tp_id[8];
  13. unsigned long conv_id;
  14. unsigned char * p_rts;
  15.  
  16. struct rc {
  17.  unsigned int prim;
  18.  unsigned long sec; } *p_rc;
  19.  
  20.  
  21.  {
  22.   union REGS inregs,outregs;
  23.   struct SREGS segregs;
  24.   struct confirm *ptr;
  25.        char _near *dp1;
  26.        char _near *dp2;
  27.   int l;
  28.  
  29.      l = sizeof(struct confirm);
  30.      if ((ptr = (char *)calloc(1,l)) == NULL)
  31.        {
  32.         p_rc->prim = PORT_BUSY; /* ¡ÑΓ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ */
  33.         p_rc->sec = 0x00;
  34.         return(0);
  35.         }
  36.  
  37.    ptr->code=Confirm;
  38.    ptr->e_cd=0x0000;
  39.  
  40.    memcpy(ptr->tp_id,tp_id,8);
  41.  
  42.    ptr->conv_id = conv_id;
  43. /*
  44.      inregs.x.dx = FP_OFF(ptr);
  45.      segregs.ds = FP_SEG(ptr);
  46.      inregs.x.ax = ptr->code;
  47.  
  48.          int86x(0x68,&inregs,&outregs,&segregs);
  49.  */
  50.      dp1 = FP_OFF( ptr );
  51.      dp2 = FP_SEG( ptr );
  52.      _asm
  53.          {
  54.             push  ds
  55.             mov   dx, word ptr dp1[0]
  56.             mov   ax, word ptr dp2[0]
  57.         mov   ds, ax
  58.         mov   ax, Confirm
  59.             int   68h
  60.             pop   ds
  61.          }
  62.  
  63.  *p_rts=ptr->rts;
  64.  p_rc->prim = ptr->prim_rc;
  65.  p_rc->sec = ptr->sec_rc;
  66.  
  67.  free(ptr);
  68.  
  69.  return(0);
  70.  }
  71.